package com.xxx.springboot.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 事务消息表
 * </p>
 *
 * @author gwq
 * @since 2020-07-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_transactional_message")
public class TransactionalMessage implements Serializable {

	private static final long serialVersionUID = 1L;

	@TableId(value = "id", type = IdType.AUTO)
	private Long id;

	private LocalDateTime createTime;

	private LocalDateTime editTime;

	private String creator;

	private String editor;

	private Integer deleted;

	/**
	 * 当前重试次数
	 */
	private Integer currentRetryTimes;

	/**
	 * 最大重试次数
	 */
	private Integer maxRetryTimes;

	/**
	 * 队列名
	 */
	private String queueName;

	/**
	 * 交换器名
	 */
	private String exchangeName;

	/**
	 * 交换类型
	 */
	private String exchangeType;

	/**
	 * 路由键
	 */
	private String routingKey;

	/**
	 * 业务模块
	 */
	private String businessModule;

	/**
	 * 业务键
	 */
	private String businessKey;

	/**
	 * 下一次调度时间
	 */
	private LocalDateTime nextScheduleTime;

	/**
	 * 消息状态
	 */
	private Integer messageStatus;

	/**
	 * 退避初始化值,单位为秒
	 */
	private Long initBackoff;

	/**
	 * 退避因子(也就是指数)
	 */
	private Integer backoffFactor;

}
